package com.zhny.controller;

import com.zhny.entity.Result;
import com.zhny.service.KnowledgeService;
import com.zhny.utils.BaiDuScrapeUtils;
import com.zhny.utils.ImgSearchUtils;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/search")
public class Search {

    /*
    植物识别
     */
    public static void main(String[] args) {

    }
    @PostMapping("/botanySearch")
    public Result BotanySearch(@RequestParam("imgFile") MultipartFile imgFile) throws IOException {
        //根据图片调用植物图片识别API查询到该图片名称
        if (null !=imgFile &&imgFile.getSize()>0){
            String  plantName = ImgSearchUtils.getPlantName(imgFile.getBytes());
            //通过爬虫技术在百度百科中查询到动物相关描述
            String BotanyBaike = BaiDuScrapeUtils.baike(plantName);
            return new Result(true,"图片识别成功",BotanyBaike);
        }else {
            return new Result(false,"图片识别失败,请检查是否正确");
        }
        //通过爬虫技术在百度百科中查询到植物相关描述
        // BaiDuScrapeUtils.baike(plantName);

    }


    /*
    动物识别
     */
    @PostMapping("/animalSearch")
    public Result AnimalSearch(@RequestParam("imgFile") MultipartFile imgFile) throws IOException {

        if (null !=imgFile &&imgFile.getSize()>0){
            //根据图片调用动物图片识别API查询到该图片名称
            String AnimalName = ImgSearchUtils.getAnimalName(imgFile.getBytes());
            //通过爬虫技术在百度百科中查询到动物相关描述
            String AnimalBaike = BaiDuScrapeUtils.baike(AnimalName);
            return new Result(true,"图片识别成功",AnimalBaike);
        }else {
            return new Result(false,"图片识别失败,请检查是否正确");
        }
        //通过爬虫技术在百度百科中查询到植物相关描述
        //return BaiDuScrapeUtils.baike(AnimalName);
    }


}